var Base = require('geoClockBase');
var Digital = require('geoDigitalBase');

cc.Class({
    extends: Base,

    properties: {
        H1:{
            default:null,
            type:Digital,
            tooltip:'小时：十位'
        },
        H0:{
            default:null,
            type:Digital,
            tooltip:'小时：个位'
        },
        sepratorHM:{
            default:null,
            type:cc.Node,
            tooltip:'分割符：时分'
        },
        M1:{
            default:null,
            type:Digital,
            tooltip:'分钟：十位'
        },
        M0:{
            default:null,
            type:Digital,
            tooltip:'分钟：个位'
        },
        sepratorMS:{
            default:null,
            type:cc.Node,
            tooltip:'分割符：分秒'
        },
        S1:{
            default:null,
            type:Digital,
            tooltip:'秒：十位'
        },
        S0:{
            default:null,
            type:Digital,
            tooltip:'秒：个位'
        },
    },

    /**
     * 重载
     */
    updateClock(hours, minutes, seconds, milliseconds) {
        var v = 0;
        //
        v = this._spliteNumber(hours, 2);
        this.H1.setDigital(v[1]);
        this.H0.setDigital(v[0]);
        //
        v = this._spliteNumber(minutes, 2);
        this.M1.setDigital(v[1]);
        this.M0.setDigital(v[0]);
        //
        v = this._spliteNumber(seconds, 2);
        this.S1.setDigital(v[1]);
        this.S0.setDigital(v[0]);
    },
    /**
     * 将给定数字按个十百千万拆分开
     * @param {*} num 被拆分的数字
     * @param {*} bits 要拆分成的位数
     * @param {boolean} h2l 若为true，则123转化为[0,0,1,2,3]，否则转化为[3,2,1,0,0]
     */
    _spliteNumber(num, bits, h2l){
        var ret = [];
        //
        for (var i = 0; i < bits; ++i){
            ret[i] = Math.floor((num%Math.pow(10, i+1))/Math.pow(10, i));
        }
        //
        h2l && ret.reverse();
        //
        return ret;
    },
    
});
